package com.evildog.workspace.system.application.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.evildog.workspace.dependencies.mybatis.object.BaseStatusDTO;
import com.evildog.workspace.dependencies.mybatis.object.LinkIdDTO;
import com.evildog.workspace.system.application.bo.MenuPermissionBO;
import com.evildog.workspace.system.application.bo.MenuPermissionTreeBO;
import com.evildog.workspace.system.application.dto.MenuEditPermissionDTO;
import com.evildog.workspace.system.application.entity.MenuPermission;

import java.util.List;

/**
 * <p>
 * menuPermission Service
 * </p>
 *
 * @author evildog
 * @since 2020-07-25
 */
public interface MenuPermissionService extends IService<MenuPermission> {


    /**
    * getTree
    */
    List<MenuPermissionTreeBO> getTree();

    /**
    * 获取详情
    */
    boolean updateById(Long id, MenuEditPermissionDTO param);

    /**
    * 获取详情
     * @return
     */
    MenuPermissionBO save(MenuEditPermissionDTO param);

    boolean remove(Long id);

    boolean updateApiPermissions(Long id, LinkIdDTO convert);

    MenuPermissionBO getDetailById(Long id);

    boolean updateStatus(Long id, BaseStatusDTO baseStatus);
}
